<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	    		xmlns:ui="http://java.sun.com/jsf/facelets"
	  			xmlns:h="http://java.sun.com/jsf/html"
	  			xmlns:f="http://java.sun.com/jsf/core"
	  			xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:sf="http://www.springframework.org/tags/faces"
				template="/WEB-INF/layouts/standard.xhtml">

<ui:define name="content">

<script type='text/javascript' src='/sigec-howelly/dwr/interface/dwrController.js'></script>
<script type='text/javascript' src='/sigec-howelly/dwr/engine.js'></script>

<div class="section">
	<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id6" /> 
	<h4>Ingresar nuevo Gasto para la Obra #{gasto.obra.name} </h4>
	<ui:fragment id="messages">
		<div id="messagesInsertionPoint">
			<p:messages errorClass="errors" />
		</div>
	</ui:fragment>
	<h:form id="gastoObraForm">
	<fieldset>
		<div class="field">
			<div class="label">Razon Social:</div>
			<p:autoComplete value="#{gasto.name}" style="width:45%"  minQueryLength="2"  completeMethod="#{gastoController.autoCompleteSuggestions}">
			</p:autoComplete> 
		</div>
		<br />
		<br />
		<br />
		
		<div class="field">
			<div class="label">CUIT :</div>
				<h:inputText id="cuit" style="width:40%"  value="#{gasto.cuit}" />
				<h:selectBooleanCheckbox id="getcuit" onclick="getCuitByName(this);" value="Obtener Cuit Automaticamente"/>
		</div>
		
		<div class="field">
			<div  class="label">Dia Efectuado:</div>
			<h:inputText style="width:40%" id="diaEfectuado" value="#{gasto.diaEfectuadoString}"/>
			<script type="text/javascript">
				  Calendar.setup({
				        inputField     :    "gastoObraForm:diaEfectuado",
				        ifFormat       :    "%d/%m/%Y",
				        showsTime      :    false,
				        timeFormat     :    "24",
				    });
			</script>
		</div>
		<div class="field">
			<div class="label">Precio:</div>
				<sf:clientTextValidator style="width:20%" regExp="^[-]?([1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|\.[0-9]{1,2})$" invalidMessage="El precio debe contener solo valores numericos y hasta 2 decimales">				
					<h:inputText id="price" style="width:40%"  converter="#{BigDecimal}" value="#{gasto.price}" />
				</sf:clientTextValidator>
			</div>
		<div class="field">
			<div class="label">
				<h:outputLabel for="categoriaName">Categoria:</h:outputLabel>
			</div>
		<div class="input">
			<h:selectOneMenu id="tipoDeGastos" value="#{gasto.categoriaName}">
				<f:selectItems value="#{referenceData.tipoDeGastos}"/>
			</h:selectOneMenu>		
		</div>
		<div class="field">
			<div class="label">Numero de Factura :</div>
				<h:inputText id="numeroDeFactura" style="width:40%"  value="#{gasto.numeroDeFactura}" />
		</div>
		<div class="field">
			<div class="label">
				<h:outputLabel for="factura">Tipo De Factura:</h:outputLabel>
			</div>
			<div class="input">
				<h:selectOneMenu id="tipoDeFactura" onchange="setIva();" value="#{gasto.factura}">
					<f:selectItems value="#{referenceData.tipoDeFacturas}"/>
				</h:selectOneMenu>
			</div>
		</div>
		
		<div  class="field">
			<div class="label">Iva:</div> 
			<sf:clientTextValidator style="width:20%" regExp="^[-]?([1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|\.[0-9]{1,2})$" invalidMessage="El campo I.V.A debe contener solo valores numericos y de dos decimales maximo">				
			<h:inputText id="iva"  converter="#{BigDecimal}" style="width:19%"  value="#{gasto.iva}"/>
				<h:selectOneMenu style="width:30%" onchange="setIva();" id="ivaRates">
					<f:selectItems value="#{referenceData.ivaRates}"/>
				</h:selectOneMenu>
			</sf:clientTextValidator>
		</div>
	</div>
	<div class="buttonGroup">
		<sf:validateAllOnClick>
			<sf:commandButton id="proceed" action="proceed" processIds="*" value="Agregar Gasto"/>&#160;
		</sf:validateAllOnClick>
		<sf:commandButton id="cancel" value="Cancelar Gasto" action="cancel"/>
	</div>		
	</fieldset>
	
	<p:dialog header="Corrija el formato del precio" widgetVar="dlg1" modal="true" effect="FADE"
					fixedCenter="true" close="true" width="400px">
					Por favor, corrija el formato del Precio (ejemplo: 1234.55)
	</p:dialog>
	</h:form>
</div>
<script>

setIva();

function setIva()
{
	var precio = document.getElementById("gastoObraForm:price");
	var rate = document.getElementById("gastoObraForm:ivaRates");
	var tipoDeFactura = document.getElementById("gastoObraForm:tipoDeFactura");
	if(rate.value !='')
	{
		var iva = precio.value/1.21 *rate.value;
		if(iva.toFixed(2)=='NaN') 
		{
			dlg1.show();
			document.getElementById("gastoObraForm:price").value= 0.00;
			return;
		}
		if(tipoDeFactura.value=='Factura A')
		{
			document.getElementById("gastoObraForm:iva").value = iva.toFixed(2);
		}
			
		if(tipoDeFactura.value !='Factura A')
		{
			document.getElementById("gastoObraForm:iva").value = 0.00;	
		}
	}
}

document.onkeyup= setIva;

function getCuitByName(checkBox)
{
	if(checkBox.checked)
	{	
		var name = document.getElementById("gastoObraForm:j_id25_input").value;
		document.getElementById("gastoObraForm:cuit").readonly  = 'readonly';
		dwrController.getCuitByName(name, updateCuit);
	}
	else
	{
		var cuit = document.getElementById("gastoObraForm:cuit");
		cuit.readonly  = false;
		cuit.value = ""
	}
}

function updateCuit(args)
{
	document.getElementById("gastoObraForm:cuit").value = args;
}

</script>

</ui:define>
</ui:composition>